This invention relates to thresholding, and more particularly, to two dimensional slope thresholding in a hyperacuity printer.
In the past, lineart, such as lines, fonts and synthetic images, etc, have been produced by rendering bitmaps, or binary data. If the input image had been once represented in gray, or multiple bit per pixel format, a thresholding scheme would have been applied to render the image into bitmaps shortly into the processing of the image. Thresholding typically is done by setting a threshold value and comparing each multi-bit pixel with that threshold and rendering a one bit pixel depending on whether the pixel vale was above or below the set threshold value. For low resolution printers, such as 300 spots per inch (spi), jaggies result on edges, (especially diagonal edges), defining transitions from black to white, or from white to black. It has also been shown that better reproduction can be obtained by using a higher resolution. However, as resolution increases, even though jaggies are reduced, the amount of memory needed to store all of the pixels increases as the square of the resolution. Therefore, a different way of thresholding images having high precision placement of edges, to eliminate jaggies, is needed.
With the advent of high addressability printing as shown in commonly assigned U.S. Pat. No. 5,138,339 to Curry et al., edge precision beyond high resolution printing at boundaries (e.g. 4800 spi) can be achieved with lower resolution spots (e.g. 600 spi), but these spots contained gray, or multi-bit per pixel information instead of binary information. Thus, multi-bit information is sent to be written on the photoreceptor. Therefore, the function of thresholding in such a printer would need to render gray data instead of typical binary data. This gray data would contain more fidelity than the binary data information making edge placement of thresholded images precise within subresolution units.
Furthermore, to render this gray thresholded data, it would be useful to have distance information in order to be able to predict where an edge will be rendered with respect to current position. Therefore, slope information for a particular data point could be used for determining distance from the data point to the edge.